"use strict";

const babelJest = require("babel-jest");

const hasJsxRuntime = (() => {
    if (process.env.DISABLE_NEW_JSX_TRANSFORM === "true") {
        return false;
    }

    try {
        require.resolve("react/jsx-runtime");
        return true;
    } catch (e) {
        return false;
    }
})();

module.exports = babelJest.createTransformer({
    presets: [
        [
            require.resolve("babel-preset-react-app"),
            {
                runtime: hasJsxRuntime ? "automatic" : "classic",
            },
        ],
    ],
    babelrc: false,
    configFile: false,
});
